#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

class FileHandler;
class DrawChart;
class ErrorMessage;

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private slots:
    void onOpenFile();
    void onSaveFile();
    void onSaveAs();
    void onSaveChartAsImage();
    void updateStatus(const QString &message);

    // 新增：绘制菜单的槽函数
    void onDrawS_BMSChart();
    void onDrawBMSFChart();
    void onDrawAllCharts();

private:
    Ui::MainWindow *ui;
    FileHandler *fileHandler;
    DrawChart *drawChart;
    ErrorMessage *errorMessage;

    QString currentFilePath;
    QString fileContent;

    void setupMenu();
    void setupUI();
    void clearCharts(); // 新增：清除图表函数
};

#endif // MAINWINDOW_H
